home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Mac Game Programming Gurus / TricksOfTheMacGameProgrammingGurus.iso / More Source / C⁄C++ / Xconq 7.0d37 / source / lib / gettysburg.g < prev    next >
Text File  |  1995-04-04  |  17KB  |  648 lines

  1. (game-module "gettysburg"
  2.   (title "Gettysburg")
  3.   (blurb "The Battle of Gettysburg, 1-3 July 1863")
  4.   (instructions (
  5.    "Most of the brigades are off-board, will come in a few at a time; "
  6.    "the Confederates from the north and west, the Federals from the south."
  7.    ""
  8.    "You have to try to hold your positions, while at the same time "
  9.    "charging the enemy."
  10.    ""
  11.    "Artillery can be captured, so be sure to guard it."
  12.    ))
  13.   (variants
  14.     (see-all true)
  15.     ("Day/Night" daynight (true (world (day-length 24))))
  16.     )
  17.   )
  18.  
  19. (unit-type infantry (image-name "soldier-acw"))
  20. (unit-type cavalry)
  21. (unit-type artillery (image-name "cannon"))
  22. (unit-type supply-train (image-name "wagon"))
  23.  
  24. (define inf infantry)
  25. (define cav cavalry)
  26. (define arty artillery)
  27.  
  28. (terrain-type clear (color "wheat") (image-name "straw") (char "+"))
  29. (terrain-type rough (color "yellow") (image-name "mountains") (char "^"))
  30. (terrain-type light-woods (color "forest green") (char "%"))
  31. (terrain-type orchard (color "green"))
  32. (terrain-type woods (color "dark olive green") (image-name "forest") (char "%"))
  33. (terrain-type town (color "gray") (image-name "urban") (char "G"))
  34. (terrain-type stream (color "sky blue") (image-name "water") (subtype border))
  35. (terrain-type ravine (color "tan") (image-name "gully") (subtype border))
  36. (terrain-type trail (color "brown") (subtype connection))
  37. (terrain-type road (color "dark slate gray") (subtype connection))
  38.  
  39. #|  
  40. (terrain-type clear (image-name "straw") (color "straw") (char "+"))
  41. (terrain-type rough (image-name "mountains") (char "^"))
  42. (terrain-type light-woods (color "light green") (char "%"))
  43. (terrain-type orchard (color "green"))
  44. (terrain-type woods (image-name "forest") (color "forest green") (char "%"))
  45. (terrain-type town (image-name "urban") (char "G"))
  46. (terrain-type stream (image-name "water") (color "blue") (subtype border))
  47. (terrain-type ravine (image-name "gully") (subtype border))
  48. (terrain-type trail (color "light gray") (subtype connection))
  49. (terrain-type road  (color "gray") (subtype connection))
  50. |#
  51. (add t* elevation-min 0 #|550|#)
  52. (add t* elevation-max 50 #|600|#)
  53.  
  54. (set grid-color "gray")
  55.  
  56. ;;; Static relationships.
  57.  
  58. (add t* capacity 3)
  59.  
  60. (table unit-size-in-terrain
  61.   (u* t* 1)
  62.   (inf road 10)
  63.   (supply-train t* 0)
  64.   )
  65.  
  66. ;(add u* possible-sides (not "independent"))
  67.  
  68. ;;; Actions.
  69.  
  70. (add u* acp-per-turn (8 16 8 8))
  71.  
  72. ;; Night shuts things down considerably.
  73.  
  74. (table acp-night-effect
  75.   ;; 1/4 of normal abilities.
  76.   (u* t* 25)
  77.   ;; Infantry in open terrain can still move around somewhat.
  78.   (infantry clear 50)
  79.   ;; (should allow movement along roads at normal rate?)
  80.   )
  81.   
  82. ;;; Movement.
  83.  
  84. (table mp-to-enter-terrain
  85.   (u* t* 1)
  86.   (u* rough 99)
  87.   (inf rough 2)
  88.   ((cav arty) woods 4)
  89.   ((inf cav) stream 0)
  90.   ((cavalry arty) road 0)
  91.   )
  92.  
  93. (table mp-to-leave-terrain
  94.   (u* t* 1)
  95.   (u* rough 99)
  96.   (inf rough 2)
  97.   ((cav arty) woods 4)
  98.   ((cavalry arty) road 0)
  99.   )
  100.  
  101. (table mp-to-traverse
  102.   ((arty cavalry) road (2 1))
  103.   (supply-train (trail road) (2 1))
  104.   )
  105.  
  106. (table zoc-range
  107.   (inf inf 1) ; should be 2
  108.   )
  109.  
  110. (table mp-to-enter-zoc
  111.   (inf inf 4)
  112.   )
  113.  
  114. (table mp-to-traverse-zoc
  115.   (inf inf 4)
  116.   )
  117.  
  118. ;;; Repair.
  119.  
  120. (table acp-to-repair
  121.   (u* u* 4)
  122.   )
  123.  
  124. (table hp-per-repair
  125.   (u* u* 2)
  126.   )
  127.  
  128. ;;; Combat.
  129.  
  130. (add u* hp-max 8)
  131.  
  132. (table acp-to-attack
  133.   (u* u* 4)
  134.   (arty u* 0)
  135.   (supply-train u* 0)
  136.   )
  137.  
  138. (table acp-to-defend
  139.   (u* u* 4))
  140.  
  141. (table hit-chance
  142.   (u* u* 50)
  143.   (supply-train u* 0)
  144.   )
  145.  
  146. (table damage
  147.   (u* u* 1d3)
  148.   (supply-train u* 0)
  149.   )
  150.  
  151. (add arty range 5)  ;  (5 or 3 - need two types?)
  152.  
  153. (add arty acp-to-fire 8)
  154.  
  155. (table capture-chance
  156.   (infantry arty 30)
  157.   )
  158.  
  159. ;; Everybody bounces back over time.
  160.  
  161. (add u* hp-recovery 0.25)
  162.  
  163. ;;; Vision.
  164.  
  165. (set terrain-seen true)
  166.  
  167. (add u* vision-range 5)
  168.  
  169. (table visibility
  170.   (u* t* 100)
  171.   (u* (orchard light-woods) 50)
  172.   (u* woods 0)
  173.   )
  174.  
  175. ;;; The world.
  176.  
  177. (world 125000)
  178.  
  179. (area 50 36 (cell-width 10))
  180.  
  181. (area (terrain
  182.   "50a"
  183.   "aea2e5ae5a2e3ae9ae18a"
  184.   "ae8a2e5aea2e2ae7ae18a"
  185.   "9aeae5ae2ae2ae7ae18a"
  186.   "10ae39a"
  187.   "4ae23ae2ae4ae13a"
  188.   "13ad6ae8a3e4ae13a"
  189.   "ae4a2e5aed5ae3ae25a"
  190.   "ae12ae6ae3ad6a2e3ad12a"
  191.   "ae2ae2ae2ae3ae12a2e4ae16a"
  192.   "5aeae2aea2ead11a2e21a"
  193.   "10aead2ae2a3f6a3e8ae3ae7a"
  194.   "3ae3ae2a2e4ae2a2fe5a3e8a2e3ae6a"
  195.   "aeae3ae3ae4ae10a2e6ae2a3e3ae5a"
  196.   "aea2e2a2e2aead3ad6ae2a2ead4ae7a3e4a"
  197.   "2ae6a2e2ad3ae6a2ea3e15ae4a"
  198.   "2a2e4ad4ae3ae6a3ea3e19a"
  199.   "14ae2ae3ac4aea3eae10ae6a"
  200.   "15a3e5aea7ea2e6ae2a3ed2a"
  201.   "13ad2aeae5ae2a2ea2e2ae3a4e8a"
  202.   "12a2e3ae13ae10ae7a"
  203.   "11ae2ae2ae2ad3aea2eae3ae16a"
  204.   "7a2e2aea3e2ae10ae3ae5ae10a"
  205.   "7a2e2ae7a2d3a2e3ae3ae4a3e7aea"
  206.   "8a2e14a3ea3e10aead3a2ea"
  207.   "9a2e3aeaea2ead2e5a3eae14aea"
  208.   "10ae3aeae3ae2ae3c6ae8a3e3aea"
  209.   "14ae6ae2ae2c7aeae5ac3e4a"
  210.   "21ae2a4e6ae9a2c4a"
  211.   "21ad6e22a"
  212.   "18a3e2a5e9ae2a3e2ad4a"
  213.   "19ae4a2e2aead10a3e2ad3a"
  214.   "18a3e7a2e20a"
  215.   "19a2e3a3ea2e20a"
  216.   "25a2e2ae3ae3ae3a3e6a"
  217.   "50a"
  218. ))
  219.  
  220. (area (aux-terrain stream
  221.   "50a"
  222.   "6agq7acy33a"
  223.   "6agL8ahq32a"
  224.   "6acT8agL32a"
  225.   "7ahq7acXi31a"
  226.   "7acXi7ab?y30a"
  227.   "8ab?y8ahq29a"
  228.   "10ahq7acT29a"
  229.   "10acT8ap}4aem22a"
  230.   "11ady7adU<3agM<21a"
  231.   "12ahq7ady3agL22a"
  232.   "12agL8ahq2agL22a"
  233.   "12agL8acT2agL22a"
  234.   "12agL9adyagL22a"
  235.   "12agL10adygL22a"
  236.   "12agL11ad:L22a"
  237.   "12acT12ahL22a"
  238.   "13ahq11agL22a"
  239.   "13agL11acT22a"
  240.   "13agL12ady21a"
  241.   "13acTgq11ady20a"
  242.   "14ahwL12ady19a"
  243.   "8ae2mi2acZL13ady18a"
  244.   "8acM=?y2ahL14ahq17a"
  245.   "12ad}igL14acT17a"
  246.   "13abCwL15ahqae14a"
  247.   "14agNT15acXicT13a"
  248.   "14agLhq14aenKqhq12a"
  249.   "14acTgL15a?YDgL12a"
  250.   "15ad:T16abC:L12a"
  251.   "16ab?y12ac}2moM<12a"
  252.   "18ahq12ab=CYH2m11a"
  253.   "18agL14acU3=<10a"
  254.   "18agL15ady13a"
  255.   "18acL16adq12a"
  256.   "50a"
  257. ))
  258.  
  259. (area (aux-terrain ravine
  260.   "50a"
  261.   "7agq41a"
  262.   "7agL14ai26a"
  263.   "7acT14ad}3agq20a"
  264.   "8ahq14ab<3a<20a"
  265.   "9a<40a"
  266.   "50a"
  267.   "50a"
  268.   "50a"
  269.   "35ai14a"
  270.   "35ady13a"
  271.   "34agqdy12a"
  272.   "18ae15agLab12a"
  273.   "18agL14agL14a"
  274.   "18agL14acL14a"
  275.   "18agL30a"
  276.   "19a<14agq14a"
  277.   "34agL4ae9a"
  278.   "34agL4acL8a"
  279.   "34acT4ae9a"
  280.   "35ahqeiaoL8a"
  281.   "35agLgMab<8a"
  282.   "36a<a<11a"
  283.   "50a"
  284.   "50a"
  285.   "50a"
  286.   "50a"
  287.   "50a"
  288.   "50a"
  289.   "50a"
  290.   "50a"
  291.   "50a"
  292.   "50a"
  293.   "50a"
  294.   "50a"
  295.   "50a"
  296. ))
  297.  
  298. (area (aux-terrain trail
  299.   "50a"
  300.   "19ae30a"
  301.   "20a@29a"
  302.   "21a>u27a"
  303.   "23a@3ac}21a"
  304.   "24a@3aj>u19a"
  305.   "25a>uaj2a>u17a"
  306.   "27a@j4a@4ai11a"
  307.   "28aE5a@3aj11a"
  308.   "27akr6a@2aj11a"
  309.   "27aj8a@aj11a"
  310.   "27aj9a@j11a"
  311.   "18ai8af10aE11a"
  312.   "18aj9aD9aj11a"
  313.   "18aj9aj9aj11a"
  314.   "18ab9aj9aj11a"
  315.   "28af9aj11a"
  316.   "7ae21aD8af11a"
  317.   "8aD20aj9aD10a"
  318.   "8af20aj9aj10a"
  319.   "9aD18akr9aj10a"
  320.   "9af18aj10aj10a"
  321.   "10a>u12ak3sv10aj10a"
  322.   "12a@7acu2aj4aD9af10a"
  323.   "13a>s2{su3a>uj4an10aD9a"
  324.   "15a2j2a>q3a?suakr@6ai2aj9a"
  325.   "15a2f10a>r2a@5aj2aj9a"
  326.   "16a2D9acsu2a@4aj2ab9a"
  327.   "16a2j12a>ua@3aj12a"
  328.   "16ajn14a>sP2aj12a"
  329.   "14acstr@2ae13a>wr12a"
  330.   "19a@2a@14a@12a"
  331.   "20a@2a@7aksu4aD11a"
  332.   "21a<2a>6sr2a>3sr11a"
  333.   "50a"
  334.   "50a"
  335. ))
  336.  
  337. (area (aux-terrain road
  338.   "50a"
  339.   "7ae4ae2ai3ai10aksq17a"
  340.   "8a>u3a@aj3aj8aksr19a"
  341.   "acu7a@3a@f3aj7akr21a"
  342.   "3a>u6a@3a@D2aj5aksr22a"
  343.   "5a>u5a>u2aE2aj4akr24a"
  344.   "7a>u5a@af2aj4aj25a"
  345.   "9a>u4a@aDaj3akr25a"
  346.   "11a>u3a@faj2akr26a"
  347.   "13a>u2a@Djakr27a"
  348.   "15a>uaAnkr28a"
  349.   "17a>q=?2su26a"
  350.   "15ak3syi3a>su23a"
  351.   "13aksr3a2f6a>su20a"
  352.   "12akr6aDH8a>3su15a"
  353.   "10aksr7apr@12a>3su10a"
  354.   "8aksr9aj@a@16a>2su6a"
  355.   "6aksr11ajaDa@19a>3sqa"
  356.   "4aksr13ajaf2a@24a"
  357.   "3acr15aj2a@2a@23a"
  358.   "20aj3a@2a@22a"
  359.   "20aj4aD2a>su19a"
  360.   "20aj4af5a@18a"
  361.   "20aj5aD5a>u16a"
  362.   "20aj5af7a>u14a"
  363.   "20af6aD8a>u12a"
  364.   "21aD5aj10a>u10a"
  365.   "21aj5af12a>u8a"
  366.   "21aj6a@13a>u6a"
  367.   "21aj7aD14a>u4a"
  368.   "21aj7af16a>u2a"
  369.   "21aj8aD17a<a"
  370.   "21aj8af19a"
  371.   "21aj9aD18a"
  372.   "21ab9ab18a"
  373.   "50a"
  374. ))
  375.  
  376. (area (features (
  377.    (17 "ridge" "Seminary %T")
  378.    (16 "town" "Gettysburg")
  379.    (15 "hill" "Barlow's %T")
  380.    (14 "hill" "Granite %T")
  381.    (13 "hill" "Oak %T")
  382.    (12 "hill" "Benner's %T")
  383.    (11 "hill" "Wolf %T")
  384.    (10 "hill" "Culp's %T")
  385.    (9 "hill" "Power's %T")
  386.    (8 "hill" "Cemetery %T")
  387.    (7 "hill" "Little Round Top")
  388.    (6 "hill" "Big Round Top")
  389.    (5 "ridge" "Cress %T")
  390.    (4 "ridge" "Warfield %T")
  391.    (3 "ridge" "Cemetery %T")
  392.    (2 "ridge" "McPherson's %T")
  393.    (1 "ridge" "Herr %T")
  394.   )
  395.   "50a"
  396.   "50a"
  397.   "50a"
  398.   "33ao16a"
  399.   "50a"
  400.   "50a"
  401.   "8ab41a"
  402.   "8a2b40a"
  403.   "7a3b40a"
  404.   "7a3b3ac36a"
  405.   "7a3b3ac36a"
  406.   "7a2b4a2c3a3q3am25a"
  407.   "8ab5ac4a2q29a"
  408.   "8ab5ac35a"
  409.   "8ab12ad28a"
  410.   "8ab12aidak25a"
  411.   "9ab11a2d6al20a"
  412.   "21a2d27a"
  413.   "21a2d27a"
  414.   "22ad27a"
  415.   "23ad26a"
  416.   "24ad2ad22a"
  417.   "25ad24a"
  418.   "26ad23a"
  419.   "25ab24a"
  420.   "50a"
  421.   "26ah23a"
  422.   "26ah23a"
  423.   "50a"
  424.   "26ag23a"
  425.   "50a"
  426.   "50a"
  427.   "50a"
  428.   "50a"
  429.   "50a"
  430.   "50a"
  431. ))
  432.  
  433. (area (elevations
  434.   "50a"
  435.   "a5ba3bc12a6b21a"
  436.   "a5ba2babc12a5b21a"
  437.   "a2b2aba2babc12a5b21a"
  438.   "a2b5a2babc11a2b24a"
  439.   "ab6a2b2a2b10a2b24a"
  440.   "8ab3a2b10a2b24a"
  441.   "8a2b3ab10a2b24a"
  442.   "7a3b3a2b9a2b24a"
  443.   "7a3b3a2b9a2b24a"
  444.   "7a3b3abab8a2b24a"
  445.   "7a2b4abab8ab25a"
  446.   "8ab5abab7ab25a"
  447.   "8ab5abab33a"
  448.   "8ab5ab2ab3ac28a"
  449.   "8ab8ab3a2c27a"
  450.   "9ab7ab3a2c27a"
  451.   "21a2c27a"
  452.   "21a2b27a"
  453.   "22a2b26a"
  454.   "23ab26a"
  455.   "27ab22a"
  456.   "25ab24a"
  457.   "26ab23a"
  458.   "25ab24a"
  459.   "50a"
  460.   "26ac23a"
  461.   "26ac23a"
  462.   "50a"
  463.   "26ac23a"
  464.   "50a"
  465.   "50a"
  466.   "50a"
  467.   "50a"
  468.   "50a"
  469.   "50a"
  470. ))
  471.  
  472. (side 1 (name "US") (adjective "Union")
  473.   (color "blue,red,midnight blue") (emblem-name "flag-usa")
  474.   (names-locked true))
  475.  
  476. (side 2 (name "CSA") (adjective "Confederate")
  477.   (color "red,blue,slate gray") (emblem-name "flag-csa")
  478.   (names-locked true))
  479.  
  480. (set sides-min 2)
  481. (set sides-max 2)
  482.  
  483. (inf -21 -1 1 (n "Meredith") (cp -1) (x (appear 3)))
  484. (inf -21 -1 1 (n "Cutler") (cp -1) (x (appear 3)))
  485. (inf -21 -1 1 (n "Paul") (cp -1) (x (appear 4)))
  486. (inf -21 -1 1 (n "Baxter") (cp -1) (x ((appear 4))))
  487. (inf -3 -16 1 (n "Rowley") (cp -1) (x (appear 6)))
  488. (inf -3 -16 1 (n "Stone") (cp -1) (x (appear 6)))
  489. (arty -21 -1 1 (n "Wainwright 1") (cp -1) (x (appear 5)))
  490. (arty -21 -1 1 (n "Wainwright 2") (cp -1) (x (appear 5)))
  491. (inf -31 -1 1 (n "Cross") (cp -1) (x (appear 18)))
  492. (inf -31 -1 1 (n "Kelly") (cp -1) (x (appear 18)))
  493. (inf -31 -1 1 (n "Zook") (cp -1) (x (appear 18)))
  494. (inf -31 -1 1 (n "Brooke") (cp -1) (x (appear 19)))
  495. (inf -31 -1 1 (n "Harrow") (cp -1) (x (appear 19)))
  496. (inf -31 -1 1 (n "Webb") (cp -1) (x (appear 19)))
  497. (inf -31 -1 1 (n "Hall") (cp -1) (x (appear 20)))
  498. (inf -31 -1 1 (n "Carroll") (cp -1) (x (appear 20)))
  499. (inf -31 -1 1 (n "Smyth") (cp -1) (x (appear 20)))
  500. (inf -31 -1 1 (n "Willard") (cp -1) (x (appear 21)))
  501. (arty -31 -1 1 (n "Hazard 1") (cp -1) (x (appear 21)))
  502. (arty -31 -1 1 (n "Hazard 2") (cp -1) (x (appear 21)))
  503. (inf -21 -1 1 (n "Graham") (cp -1) (x (appear 12)))
  504. (inf -21 -1 1 (n "Ward") (cp -1) (x (appear 12)))
  505. (inf -21 -1 1 (n "de Trobriand") (cp -1) (x (appear 27)))
  506. (inf -21 -1 1 (n "Carr") (cp -1) (x (appear 13)))
  507. (inf -21 -1 1 (n "Brewster") (cp -1) (x (appear 13)))
  508. (inf -21 -1 1 (n "Burling") (cp -1) (x (appear 27)))
  509. (arty -21 -1 1 (n "Rand a") (cp -1) (x (appear 12)))
  510. (arty -21 -1 1 (n "Rand b") (cp -1) (x (appear 14)))
  511. (inf -43 -19 1 (n "Tilton") (cp -1) (x (appear 27)))
  512. (inf -43 -19 1 (n "Schweitzer") (cp -1) (x (appear 27)))
  513. (inf -43 -19 1 (n "Vincent") (cp -1) (x (appear 27)))
  514. (inf -43 -19 1 (n "Day") (cp -1) (x (appear 28)))
  515. (inf -43 -19 1 (n "Burbank") (cp -1) (x (appear 28)))
  516. (inf -43 -19 1 (n "Weed") (cp -1) (x (appear 28)))
  517. (inf -43 -19 1 (n "McCandless") (cp -1) (x (appear 31)))
  518. (inf -43 -19 1 (n "Fisher") (cp -1) (x (appear 32)))
  519. (arty -43 -19 1 (n "Martin a") (cp -1) (x (appear 29)))
  520. (arty -43 -19 1 (n "Martin b") (cp -1) (x (appear 29)))
  521. (inf -48 -4 1 (n "Torbert") (cp -1) (x (appear 34)))
  522. (inf -48 -4 1 (n "Bartlett") (cp -1) (x (appear 34)))
  523. (inf -48 -4 1 (n "Russell") (cp -1) (x (appear 34)))
  524. (inf -48 -4 1 (n "Grant") (cp -1) (x (appear 35)))
  525. (inf -48 -4 1 (n "Neill") (cp -1) (x (appear 35)))
  526. (inf -48 -4 1 (n "Shaler") (cp -1) (x (appear 35)))
  527. (inf -48 -4 1 (n "Eustis") (cp -1) (x (appear 36)))
  528. (inf -48 -4 1 (n "Wheaton") (cp -1) (x (appear 36)))
  529. (arty -48 -4 1 (n "Tompkins a") (cp -1) (x (appear 37)))
  530. (arty -48 -4 1 (n "Tompkins b") (cp -1) (x (appear 37)))
  531. (arty -48 -4 1 (n "Tompkins c") (cp -1) (x (appear 37)))
  532. (inf -21 -1 1 (n "von Gilsa") (cp -1) (x (appear 6)))
  533. (inf -21 -1 1 (n "Ames") (cp -1) (x (appear 6)))
  534. (inf -31 -1 1 (n "Coster") (cp -1) (x (appear 8)))
  535. (inf -31 -1 1 (n "Smith") (cp -1) (x (appear 8)))
  536. (inf -31 -1 1 (n "Schimmelfenning") (cp -1) (x (appear 6)))
  537. (inf -31 -1 1 (n "Krzyzanowski") (cp -1) (x (appear 6)))
  538. (arty -31 -1 1 (n "Osborn a") (cp -1) (x (appear 7)))
  539. (arty -31 -1 1 (n "Osborn b") (cp -1) (x (appear 7)))
  540. (inf -48 -4 1 (n "McDougall") (cp -1) (x (appear 10)))
  541. (inf -48 -4 1 (n "Ruger") (cp -1) (x (appear 10)))
  542. (inf -48 -4 1 (n "Candy") (cp -1) (x (appear 10)))
  543. (inf -48 -4 1 (n "Kane") (cp -1) (x (appear 11)))
  544. (inf -48 -4 1 (n "Greene") (cp -1) (x (appear 11)))
  545. (arty -48 -4 1 (n "Muhlenburg 1") (cp -1) (x (appear 12)))
  546. (arty -48 -4 1 (n "Muhlenburg 2") (cp -1) (x (appear 12)))
  547. (inf -21 -1 1 (n "Stannard") (cp -1) (x (appear 11)))
  548. (inf -48 -4 1 (n "Lockwood") (cp -1) (x (appear 25)))
  549. (arty -31 -1 1 (n "Ransom") (cp -1) (x (appear 24)))
  550. (arty -31 -1 1 (n "McGilvey") (cp -1) (x (appear 28)))
  551. (arty -31 -1 1 (n "Taft") (cp -1) (x (appear 24)))
  552. (arty -31 -1 1 (n "Huntington") (cp -1) (x (appear 25)))
  553. (arty -31 -1 1 (n "Fitzhugh") (cp -1) (x (appear 25)))
  554. (cav 20 24 1 (n "Gamble"))
  555. (cav 20 23 1 (n "Devin"))
  556. (cav -43 -19 1 (n "McIntosh") (cp -1) (x (appear 36)))
  557. (cav -43 -19 1 (n "Gregg") (cp -1) (x (appear 36)))
  558. (cav -43 -19 1 (n "Farnsworth") (cp -1) (x (appear 57)))
  559. (cav -43 -19 1 (n "Custer") (cp -1) (x (appear 57)))
  560. (supply-train -48 -4 1 (cp -1) (x (appear 16)))
  561.  
  562. (inf -1 -32 2 (n "Anderson") (cp -1) (x (appear 18)))
  563. (inf -1 -32 2 (n " Benning") (cp -1) (x (appear 18)))
  564. (inf -1 -32 2 (n "Law") (cp -1) (x (appear 31)))
  565. (inf -1 -32 2 (n "Robertson") (cp -1) (x (appear 18)))
  566. (arty -1 -32 2 (n "Henry") (cp -1) (x (appear 19)))
  567. (inf -1 -32 2 (n "Barksdale") (cp -1) (x (appear 19)))
  568. (inf -1 -32 2 (n "Kershaw") (cp -1) (x (appear 19)))
  569. (inf -1 -32 2 (n "Semmes") (cp -1) (x (appear 20)))
  570. (inf -1 -32 2 (n "Wofford") (cp -1) (x (appear 20)))
  571. (arty -1 -32 2 (n "Cabell") (cp -1) (x (appear 20)))
  572. (inf -1 -32 2 (n "Armisted") (cp -1) (x (appear 36)))
  573. (inf -1 -32 2 (n "Garnett") (cp -1) (x (appear 36)))
  574. (inf -1 -32 2 (n "Kemper") (cp -1) (x (appear 36)))
  575. (arty -1 -32 2 (n "Dearing") (cp -1) (x (appear 37)))
  576. (inf -1 -32 2 (n "Alexander") (cp -1) (x (appear 21)))
  577. (inf -1 -32 2 (n "Eshleman") (cp -1) (x (appear 21)))
  578. (inf -19 -34 2 (n "Gordon") (cp -1) (x (appear 9)))
  579. (inf -19 -34 2 (n "Hays") (cp -1) (x (appear 9)))
  580. (inf -19 -34 2 (n "Hoke") (cp -1) (x (appear 9)))
  581. (inf -19 -34 2 (n "Smith") (cp -1) (x (appear 10)))
  582. (arty -19 -34 2 (n "H. Jones") (cp -1) (x (appear 10)))
  583. (inf -1 -32 2 (n "Jones") (cp -1) (x (appear 13)))
  584. (inf -1 -32 2 (n "Nicholls") (cp -1) (x (appear 13)))
  585. (inf -1 -32 2 (n "Steuart") (cp -1) (x (appear 13)))
  586. (inf -1 -32 2 (n "Walker") (cp -1) (x (appear 14)))
  587. (arty -1 -32 2 (n "Latimer") (cp -1) (x (appear 14)))
  588. (inf -7 -34 2  (n "Daniel") (cp -1) (x (appear 7)))
  589. (inf -7 -34 2 (n "Doles") (cp -1) (x (appear 7)))
  590. (inf -7 -34 2 (n "Iverson") (cp -1) (x (appear 7)))
  591. (inf -7 -34 2 (n "O'Neal") (cp -1) (x (appear 8)))
  592. (inf -7 -34 2  (n "Ramseur") (cp -1) (x (appear 8)))
  593. (arty -1 -32 2 (n "Carter") (cp -1) (x (appear 8)))
  594. (arty -1 -32 2 (n "Dance") (cp -1) (x (appear 15)))
  595. (arty -1 -32 2 (n "Nelson") (cp -1) (x (appear 15)))
  596. (inf -1 -32 2 (n "Mahone") (cp -1) (x (appear 12)))
  597. (inf -1 -32 2 (n "Perry") (cp -1) (x (appear 12)))
  598. (inf -1 -32 2 (n "Posey") (cp -1) (x (appear 12)))
  599. (inf -1 -32 2 (n "Wilcox") (cp -1) (x (appear 13)))
  600. (inf -1 -32 2 (n "Wright") (cp -1) (x (appear 13)))
  601. (arty -1 -32 2 (n "J. Lane") (cp -1) (x (appear 13)))
  602. (inf 5 30 2 (n "Archer"))
  603. (inf -1 -32 2 (n "Brockenbrough") (cp -1) (x (appear 4)))
  604. (inf 5 30 2 (n "Davis"))
  605. (inf -1 -32 2 (n "Pettigrew") (cp -1) (x (appear 4)))
  606. (inf -1 -32 2 (n "J. Garnet") (cp -1) (x (appear 4)))
  607. (inf -1 -32 2 (n "Lane") (cp -1) (x (appear 7)))
  608. (inf -1 -32 2 (n "Perrin") (cp -1) (x (appear 7)))
  609. (inf -1 -32 2 (n "Scales") (cp -1) (x (appear 7)))
  610. (inf -1 -32 2 (n "Thomas") (cp -1) (x (appear 8)))
  611. (arty -1 -32 2 (n "Poague") (cp -1) (x (appear 8)))
  612. (arty -1 -32 2 (n "McIntosh") (cp -1) (x (appear 5)))
  613. (arty -1 -32 2 (n "Pegram") (cp -1) (x (appear 3)))
  614. (cav -19 -34 2 (n "Hampton") (cp -1) (x (appear 33)))
  615. (cav -19 -34 2 (n "Jenkins") (cp -1) (x (appear 10)))
  616. (cav -19 -34 2 (n "F. Lee") (cp -1) (x (appear 33)))
  617. (cav -19 -34 2 (n "W. Lee") (cp -1) (x (appear 33)))
  618.  
  619. (supply-train -1 -32 2 (cp -1) (x (appear 16)))
  620.  
  621. ;;; Should be more elaborate.
  622.  
  623. (scorekeeper (do last-side-wins))
  624.  
  625. ;;; We get at least three days.
  626.  
  627. (set last-turn 72)
  628.  
  629. ;;; ... and possibly another few hours.
  630.  
  631. (set extra-turn-chance 10)
  632.  
  633. (set calendar '(usual "hour"))
  634.  
  635. (set initial-date "06 1 Jul 1863")
  636.  
  637. ;; The game starts at six hours before noon.
  638.  
  639. (set initial-day-part 0)
  640.  
  641. (game-module (design-notes (
  642.   "This is a brigade-level simulation, inspired by the game described in"
  643.   "the July-Aug 1992 issue of Command."
  644.   ""
  645.   "The scale is 5 hexes/mile, 1 hour/turn."
  646.   )))
  647.  
  648.